-----------------脚本层入口文件--------------------
_PROC_TYPE = (tostring(_c_proc_type()) == "master") and 0 or 1
_LOGIC_DIR = "../src/logic/"

function _do_file(path)
    path = _LOGIC_DIR .. path
    return dofile(path)
end

--预加载前相关设置到全局环境
_do_file("base/pkg.lua")
_do_file("base/preload.lua")
_do_file("base/llog.lua")
_do_file("base/ldebug.lua")
_do_file("base/util.lua")

function _l_logic_recv(data)
    local ret, t = UnpackFromCPP(data)
    if ret then
        -- for i,v in pairs(t) do
        --     print(string.format("Lua层收到数据, 键: %s, 值: %s", i, tostring(v)))
        -- end
    else
        print("lua层无法解析C++发来的包")
    end
end

function _l_net_recv(data)
    local ret, t = UnpackFromCPP(data)
    if ret then
        for i, v in pairs(t) do
            print(string.format("game收到数据, 键: %s, 值: %s", i, tostring(v)))
        end
    else
        print("game无法解析master通过net发来的包")
    end
end

-- -- 加载lua文件到env环境中的函数
-- function _import(path, env)
--     -- 参数检查
--     assert(type(path) == "string", "加载的文件路径必须是字符串")
--     env = env or {} -- 如果未提供 env，创建一个新表

--     -- 1. 使用 loadfile 加载文件（但不立即执行）
--     local chunk, err = loadfile(path, "t", env)
--     if not chunk then
--         error(string.format("无法加载lua文件: '%s': %s", path, err))
--     end

--     -- 2. 执行 chunk，使文件中的代码在 env 环境中运行
--     local success, result = pcall(chunk)
--     if not success then
--         error(string.format("无法执行加载的文件: '%s': %s", path, result))
--     end

--     return result or env -- 返回模块或环境
-- end
